using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
[AttributeUsage(AttributeTargets.All,AllowMultiple =true)]
public class CustomAttribute :Attribute
{
    public CustomAttribute() {
        Debug.Log($"this is{this.GetType().Name} ctor");
    }
    public CustomAttribute(string name)
    {
        Debug.Log($"this is{this.GetType().Name} ctor");
    }
    public CustomAttribute(int index)
    {
        Debug.Log($"this is{this.GetType().Name} ctor");
    }
    public string remark = null;

    public string Descrilption { get; set; }
    public void Show() {
        Debug.Log("This Is CustomAttribute");
    }

}

[Custom]
[Custom(123)]
[Custom("123")]
[Custom(remark = "123")]
[Custom(Descrilption = "123", remark = "123")]
[Custom("123", Descrilption = "123", remark = "123")]
[Custom("这是Custom自定义特性"), Custom, Custom(), Custom(remark = "备注")]
[Serializable]
public class Student {
    private string id;
    private string name;
    private string accont;
    private long qq;
    [Custom("123", Descrilption = "123", remark = "123")]
    public string Id { get => id; set => id = value; }
    public string Name { get => name; set => name = value; }
    public string Accont { get => accont; set => accont = value; }
    public long QQ { get => qq; set => qq = value; }
    [Custom("123", Descrilption = "123", remark = "123")]
    [return :Custom("123")]
    public string Get([Custom("123")]int id) {
        return id.ToString();
    }
    public void Study() {
        Debug.Log($"{Accont}{QQ}");
    }
}
